package leetcode

import (
	"fmt"
	"testing"
)

type question1619 struct {
	para1619
	ans1619
}

// para 是参数
// one 代表第一个参数
type para1619 struct {
	p []int
}

// ans 是答案
// one 代表第一个答案
type ans1619 struct {
	one float64
}

func Test_Problem1619(t *testing.T) {

	qs := []question1619{

		{
			para1619{[]int{1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3}},
			ans1619{2.00000},
		},

		{
			para1619{[]int{6, 2, 7, 5, 1, 2, 0, 3, 10, 2, 5, 0, 5, 5, 0, 8, 7, 6, 8, 0}},
			ans1619{4.00000},
		},

		{
			para1619{[]int{6, 0, 7, 0, 7, 5, 7, 8, 3, 4, 0, 7, 8, 1, 6, 8, 1, 1, 2, 4, 8, 1, 9, 5, 4, 3, 8, 5, 10, 8, 6, 6, 1, 0, 6, 10, 8, 2, 3, 4}},
			ans1619{4.77778},
		},

		{
			para1619{[]int{9, 7, 8, 7, 7, 8, 4, 4, 6, 8, 8, 7, 6, 8, 8, 9, 2, 6, 0, 0, 1, 10, 8, 6, 3, 3, 5, 1, 10, 9, 0, 7, 10, 0, 10, 4, 1, 10, 6, 9, 3, 6, 0, 0, 2, 7, 0, 6, 7, 2, 9, 7, 7, 3, 0, 1, 6, 1, 10, 3}},
			ans1619{5.27778},
		},

		{
			para1619{[]int{4, 8, 4, 10, 0, 7, 1, 3, 7, 8, 8, 3, 4, 1, 6, 2, 1, 1, 8, 0, 9, 8, 0, 3, 9, 10, 3, 10, 1, 10, 7, 3, 2, 1, 4, 9, 10, 7, 6, 4, 0, 8, 5, 1, 2, 1, 6, 2, 5, 0, 7, 10, 9, 10, 3, 7, 10, 5, 8, 5, 7, 6, 7, 6, 10, 9, 5, 10, 5, 5, 7, 2, 10, 7, 7, 8, 2, 0, 1, 1}},
			ans1619{5.29167},
		},
	}

	fmt.Printf("------------------------Leetcode Problem 1619------------------------\n")

	for _, q := range qs {
		_, p := q.ans1619, q.para1619
		fmt.Printf("【input】:%v      【output】:%v      \n", p, trimMean(p.p))
	}
	fmt.Printf("\n\n\n")
}
